import time
from planner import GoalPlanner
from evaluation import evaluate_plan_quality_manual, simulate_user_satisfaction_survey, check_resource_consumption

def run_data_analysis_scenario():
    """
    场景1：一个用户想要学习数据分析。
    """
    print("\n" + "#"*70)
    print("### 场景 1: 学习数据分析 ###")
    print("#"*70)

    # 1. 定义用户和目标
    user_profile = {"user_id": "user123", "experience_level": "零基础", "interests": ["科技", "职业发展"]}
    goal = "我想从零开始学习数据分析，然后找到一份相关工作。"
    constraints = "我每周大约有5-8小时的学习时间，预算中等。"

    # 2. 初始化并运行规划器
    start_time = time.time()
    planner = GoalPlanner(user_profile)
    plan = planner.generate_plan(goal, constraints, domain="data_analysis")
    end_time = time.time()

    # 3. 显示生成的规划
    planner.display_plan()

    # 4. 运行评估（作为示例）
    evaluate_plan_quality_manual(plan)
    simulate_user_satisfaction_survey()
    check_resource_consumption(start_time, end_time)

    # 5. 模拟用户反馈和重新规划
    feedback = "第一阶段的课程对我一个纯新手来说可能太难了。"
    planner.adjust_plan_with_feedback(feedback)
    planner.display_plan()


def run_travel_planning_scenario():
    """
    场景2：一个用户想要规划一次家庭旅行。
    """
    print("\n" + "#"*70)
    print("### 场景 2: 规划一次家庭旅行 ###")
    print("#"*70)

    # 1. 定义用户和目标
    user_profile = {"user_id": "user456", "group_type": "有孩子的家庭 (年龄 8, 11)", "interests": ["自然", "徒步", "摄影"]}
    goal = "我想为明年夏天规划一次适合家庭的户外探险旅行。"
    constraints = "目的地需要在北美。安全是第一位的，要确保孩子们不会感到无聊。"

    # 2. 初始化并运行规划器
    planner = GoalPlanner(user_profile)
    plan = planner.generate_plan(goal, constraints, domain="outdoor_trip")

    # 3. 显示生成的规划
    planner.display_plan()


if __name__ == "__main__":
    run_data_analysis_scenario()
    run_travel_planning_scenario()
